Skip to content

Treat identity region outlives as true - #161963

Closed
adwinwhite wants to merge 1 commit into
rust-lang:mainfrom
adwinwhite:identity-region-outlives
Closed

Treat identity region outlives as true#161963
adwinwhite wants to merge 1 commit into
rust-lang:mainfrom
adwinwhite:identity-region-outlives

Conversation

@adwinwhite

@adwinwhite adwinwhite commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Fixes #161733

We rewrite region outlives to Or by combining upper bounds of one region and lower bounds of the other. However, regions in identity region outlives may have no relation to other regions. So it was considered as false.

An alternative is to eagerly handle identity region outlives at the construction sites. That's a lot and covering all current and future creation is difficult.

The real purpose of this PR is to play with the new DSL :3
r? @khyperia

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Aug 29, 2026
@adwinwhite

adwinwhite commented Aug 29, 2026

Copy link
Copy Markdown
Contributor Author

Just found out this is a tracked issue - rust-lang/project-assumptions-on-binders#19
I checked through them except ones with deps. Only #145127 and #149407 are fixed by this PR. syn is not fixed.
cc @BoxyUwU

.reachable_from(r)
.into_iter()
// FIXME(-Zassumptions-on-binders): 'static may have been an input region canonicalized to something else is that important?
// FIXME(-Zassumptions-on-binders): do we need to adding the reflexive edge here?

@khyperia khyperia Aug 31, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a very relevant FIXME that should probably get deleted/commented on/generally addressed!

in general I'm unsure of where this should be handled, where you're handling it now is like, "sure I guess, idk, that works", but yeah, haha.

anyway, gonna need some time to properly review this (and I'm a bit busy today). I got infodumped on by boxy for how abby works for the purposes of implementing the DSL, and have a mental model of abby, but haven't actually looked at the code itself much yet. But, looking at pull_region_outlives_constraints_out_of_universe now I'm like waiwaiwait there's a complication of handling some annoying edge case present in my mental model that is not present in the code, I gotta figure out what's happening with more coffee :P

View changes since the review

@BoxyUwU

BoxyUwU commented Sep 3, 2026

Copy link
Copy Markdown
Member

Gonna close this in favour of #161988 since it's a more general fix. discussed on zulip: #t-types/assumptions-on-binders > handling reflexive constraints

thx for looking into abby stuff :3 and the DSL is indeed sick 😌

@BoxyUwU BoxyUwU closed this Sep 3, 2026
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ICE]: error performing operation: fully_perform

4 participants